package com.edu.admin.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.edu.admin.common.BaseMapper;
import com.edu.admin.entity.SysAdmin;
import com.edu.admin.vo.AdminVo;


/**
 * 学段表数据操作接口
 * 
 * @author Wangjiong
 * 
 */
@Mapper
public interface AdminMapper extends BaseMapper<SysAdmin> {
	
	/**
	 * 获取管理员信息
	 * 
	 * @param username
	 * @return SysAdmin
	 */
	SysAdmin findAdminByUsername(String username);
	
	/**
	 * 获取管理员信息
	 * 
	 * @param adminId
	 * @return SysAdmin
	 */
	SysAdmin findAdminByAdminId(Long adminId);
	
	/**
	 * 获取管理员信息
	 * 
	 * @param adminId
	 * @param account
	 * 
	 * 
	 * @return List<AdminVo>
	 */
	List<AdminVo> findAdminByAccount(@Param("adminId") Long adminId,@Param("account") String account);

	/**
	 * 获取管理员列表
	 * 
	 * @param 
	 * @return
	 */
	List<AdminVo> getAdminList(@Param("schoolName")String schoolName,
							@Param("adminName") String adminName,
							@Param("account")String account,
							@Param("roleId") Long roleId);
	
	
	/**
	 * 获取所有管理员列表（包括停用管理员）
	 * 
	 * @param 
	 * @return
	 */
	List<AdminVo> getAllAdminList(@Param("schoolName")String schoolName,
								@Param("adminName") String adminName,
								@Param("account")String account,
								@Param("roleId") Long roleId);
	
	/**
	 * 获取管理员菜单列表
	 * 
	 * @param Long adminId
	 * @return
	 */
	List<String> getMenuList(Long adminId);
	
	/**
	 * 获取管理员菜单列表(包含父菜单）
	 * 
	 * @param Long adminId
	 * @return
	 */
	List<String> getAllMenuList(Long adminId);

}
